package com.moshme.project.domain;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.util.List;
import java.time.LocalDateTime;

import java.io.Serializable;

import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.moshme.framework.config.SeparatorCommaToListTypeHandler;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiModel;
import org.hibernate.validator.constraints.Length;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableName;

/**
* 勘察阶段燃气主控阀表
* @TableName stage_survey_gas_mcv
*/
@TableName(value = "stage_survey_gas_mcv",autoResultMap = true)
@Data
@ApiModel(value="StageSurveyGasMcv对象", description="勘察阶段燃气主控阀表")
public class StageSurveyGasMcv implements Serializable {


    /**
    * id
    */
    @TableId(type = IdType.AUTO)
    @NotNull(message="[id]不能为空")
    @ApiModelProperty("id")
    private Long id;


    /**
    * 项目id
    */
    @ApiModelProperty("项目id")
    private Long projectId;


    /**
    * 区域位置
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("区域位置")
    @Length(max= 255,message="编码长度不能超过255")
    private String regionalLocation;


    /**
    * 具体位置
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("具体位置")
    @Length(max= 255,message="编码长度不能超过255")
    private String specificLocation;


    /**
    * 阀井位置
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("阀井位置")
    @Length(max= 255,message="编码长度不能超过255")
    private String valveWellPosition;


    /**
    * 井盖材料
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("井盖材料")
    @Length(max= 255,message="编码长度不能超过255")
    private String manholeCoverMaterial;


    /**
    * 阀井类型
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("阀井类型")
    @Length(max= 255,message="编码长度不能超过255")
    private String valveWellType;


    /**
    * 井内甲烷浓度
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("井内甲烷浓度")
    @Length(max= 255,message="编码长度不能超过255")
    private String methaneConcentration;


    /**
    * 井内一氧化碳浓度
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("井内一氧化碳浓度")
    @Length(max= 255,message="编码长度不能超过255")
    private String carbonMonoxideConcentration;


    /**
    * 井内硫化氢浓度
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("井内硫化氢浓度")
    @Length(max= 255,message="编码长度不能超过255")
    private String hydrogenSulfideConcentration;


    /**
    * 阀井深
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("阀井深")
    @Length(max= 255,message="编码长度不能超过255")
    private String wellDepth;


    /**
    * 阀门类型
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("阀门类型")
    @Length(max= 255,message="编码长度不能超过255")
    private String valveType;


    /**
    * 阀门启闭
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("阀门启闭")
    @Length(max= 255,message="编码长度不能超过255")
    private String valveOpeningClosing;


    /**
    * 扭力
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("扭力")
    @Length(max= 255,message="编码长度不能超过255")
    private String torqueForce;


    /**
    * 井内隐患描述
    */
    @ApiModelProperty("井内隐患描述")
    private String inwellingHiddenDangerDescribe;


    /**
    * 井外隐患描述
    */
    @ApiModelProperty("井外隐患描述")
    private String outsideWellHiddenDangerDescribe;


    /**
    * 主控阀
    */
    @TableField(typeHandler = SeparatorCommaToListTypeHandler.class)
    @ApiModelProperty("主控阀")
    private List<String> mainControlValve;


    /**
    * 备注
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("备注")
    @Length(max= 255,message="编码长度不能超过255")
    private String notes;


    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;


    /**
     * 创建人
     */
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("创建人")
    @Length(max= 50,message="编码长度不能超过50")
    @TableField(fill = FieldFill.INSERT)
    private String createBy;


    /**
    * 修改时间
    */
    @ApiModelProperty("修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;


    /**
    * 修改人
    */
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("修改人")
    @Length(max= 50,message="编码长度不能超过50")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    @TableField(exist = false)
    private static final long serialVersionUID=1L;

}

